/**
 * 
 */
package eu.data.util;

import java.util.Collection;

/**
 * 可滚动获取数据的数据源
 * @author 吴振振
 * @version 1.0 alpha
 */
public interface RollFetchDataSource<T> {
	
	/**
	 * 获取下一条数据
	 */
	public T next();
	
	/**
	 * 获取接下来的size条数据,或者找不到更多的数据时停止.
	 * @param size
	 * @return 包含结果的集合
	 */
	public Collection<T> next(int size);
	
	/**
	 * 获取上一条数据
	 */
	public T previous();
	
	/**
	 * 获取前面的size条数据,或者找不到更多的数据时停止.
	 * @param size
	 * @return 包含结果的集合
	 */
	public Collection<T> previous(int size);
	
}